home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1997 / HAM Radio 1997.iso / vcls / reswtch2 / rwabout.pas < prev    next >
Pascal/Delphi Source File  |  1996-04-08  |  3KB  |  113 lines

  1. { This is my Custom About Box designed specifically for TechnoSoft }
  2. unit Rwabout;
  3.  
  4. interface
  5.  
  6. uses
  7.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  8.   Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Rzlabel;
  9.  
  10. type
  11.   TRWAboutBox = class(TForm)
  12.     Panel1: TPanel;
  13.     ProgramIcon: TImage;
  14.     Panel2: TPanel;
  15.     Label8: TLabel;
  16.     Label10: TLabel;
  17.     UserName: TLabel;
  18.     CompanyName: TLabel;
  19.     Panel3: TPanel;
  20.     Label1: TLabel;
  21.     Label2: TLabel;
  22.     Label3: TLabel;
  23.     Label4: TLabel;
  24.     WinVersion: TLabel;
  25.     DosVersion: TLabel;
  26.     Coprocessor: TLabel;
  27.     CPU: TLabel;
  28.     Panel4: TPanel;
  29.     Label5: TLabel;
  30.     Label6: TLabel;
  31.     Label9: TLabel;
  32.     FreeMemory: TLabel;
  33.     FreeResources: TLabel;
  34.     FreeDisk: TLabel;
  35.     Panel5: TPanel;
  36.     Panel6: TPanel;
  37.     BitBtn1: TBitBtn;
  38.     Version: TRzLabel;
  39.     VersionNumber: TRzLabel;
  40.     Copyright: TRzLabel;
  41.     ProductName: TRzLabel;
  42.     Comments: TRzLabel;
  43.     procedure Button1Click(Sender: TObject);
  44.     procedure FormActivate(Sender: TObject);
  45.   private
  46.     fileHandle: THandle;
  47.     fileBuffer: Array [0..29] of Char;
  48.     wVersion: Word;
  49.     dVersion: Word;
  50.     winFlags: LongInt;
  51.   public
  52.     { Public declarations }
  53.   end;
  54.  
  55. var
  56.   RWAboutBox: TRWAboutBox;
  57.  
  58. implementation
  59.  
  60. {$R *.DFM}
  61.  
  62. procedure TRWAboutBox.Button1Click(Sender: TObject);
  63. begin
  64.   Close;
  65. end;
  66.  
  67. procedure TRWAboutBox.FormActivate(Sender: TObject);
  68. begin
  69.   { Get Win/Dos version numbers }
  70.   wVersion := LoWord(GetVersion);
  71.   dVersion := HiWord(GetVersion);
  72.   WinVersion.Caption := IntToStr(LO(wVersion)) + '.' +
  73.                         IntToStr(HI(wVersion));
  74.   DosVersion.Caption := IntToStr(HI(dVersion)) + '.' +
  75.                         IntToStr(LO(dVersion));
  76.  
  77.   winFlags := GetWinFlags;
  78.  
  79.   { Get math coprocessor status }
  80.   if winFlags and WF_80x87 > 0 then
  81.      Coprocessor.Caption := 'Present'
  82.   else
  83.      Coprocessor.Caption := 'Not Present';
  84.  
  85.   { Get CPU type }
  86.   if winFlags and WF_CPU486 > 0 then
  87.      CPU.Caption := '486 or Pentium';
  88.   if winFlags and WF_CPU386 > 0 then
  89.      CPU.Caption := '386';
  90.   if winFlags and WF_CPU286 > 0 then
  91.      CPU.Caption := '286';
  92.  
  93.   { Get free memory, resources, disk space }
  94.   FreeMemory.Caption := IntToStr(GetFreeSpace(0) div 1000) + ' KB';
  95.   FreeResources.Caption := IntToStr(GetFreeSystemResources(GFSR_SYSTEMRESOURCES))
  96.                                + '%';
  97.   FreeDisk.Caption := IntToStr(DiskFree(3) div 1000000) + ' MB';
  98.  
  99.   { Get user name and company name }
  100.   fileHandle := LoadLibrary('USER');
  101.  
  102.   if fileHandle >= HINSTANCE_ERROR then begin
  103.     if LoadString(fileHandle, 514, @fileBuffer, 30) <> 0 then
  104.        UserName.Caption := fileBuffer;
  105.     if LoadString(fileHandle, 515, @fileBuffer, 30) <> 0 then
  106.        CompanyName.Caption := fileBuffer;
  107.     FreeLibrary(fileHandle);
  108.   end;
  109. end;
  110.  
  111. end.
  112.  
  113.